<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <!-- 上述3个meta标签*必须*放在最前面，任何其他内容都*必须*跟随其后！ -->
    <meta name="viewport"
          content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0,user-scalable=no,minimal-ui">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../img/asset-favico.ico">
    <title>编辑信息</title>
    <link rel="stylesheet" href="../css/page-health-orderInfo.css"/>
    <link rel="stylesheet" href="../plugins/elementui/index.css"/>
    <script src="../plugins/jquery/dist/jquery.min.js"></script>
    <script src="../plugins/healthmobile.js"></script>
    <script src="../plugins/datapicker/datePicker.js"></script>
    <script src="../plugins/vue/vue.js"></script>
    <script src="../plugins/vue/axios-0.18.0.js"></script>
    <script src="../plugins/elementui/index.js"></script>
    <script>
        let id = getUrlParam("id");
    </script>


    <link rel="stylesheet" href="../css/dialog.css"/>
    <link rel="stylesheet" href="../css/hdyz.css">
    <script src="../plugins/myyz.js"></script>
    <script src="../plugins/dialog.js"></script>

</head>
<body data-spy="scroll" data-target="#myNavbar" data-offset="150">
<div id="app" class="app">
    <!-- 页面头部 -->
    <div class="top-header">
        <span class="f-left"><i class="icon-back" onclick="history.go(-1)"></i></span>
        <span class="center">传智健康</span>
        <span class="f-right"><i class="icon-more"></i></span>
    </div>
    <!-- 页面内容 -->
    <div class="contentBox">
        <div class="card">
            <div class="">
                <img :src="imgUrl" width="100%" height="100%"/>
            </div>
            <div class="project-text">
                <h4 class="tit">{{setmeal.name}}</h4>
                <p class="subtit">{{setmeal.remark}}</p>
                <p class="keywords"><span>{{setmeal.sex == '0' ? '性别不限' : setmeal.sex == '1' ? '男':'女'}}</span><span>{{setmeal.age}}</span>
                </p>
            </div>
            <div class="project-know">
                <a href="orderNotice.html" class="link-page">
                    <i class="icon-ask-circle"><span class="path1"></span><span class="path2"></span></i>
                    <span class="word">预约须知</span>
                    <span class="arrow"><i class="icon-rit-arrow"></i></span>
                </a>
            </div>
        </div>
        <div class="form-info">
            <div class="info-title">
                <span class="name">体检人信息</span>
            </div>
            <form class="info-form">
                <div class="input-row">
                    <label>体检人</label>
                    <input v-model="orderInfo.name" type="text" class="input-clear" placeholder="请输入姓名">
                </div>
                <div class="input-row single-radio">
                    <label class="radio-title">性别</label>
                    <div class="radio-list">
                        <div class="radio">
                            <input v-model="orderInfo.sex" id="item1" type="radio" name="sex" value="1" checked>
                            <label for="item1"></label>
                            <span>男</span>
                        </div>
                        <div class="radio">
                            <input v-model="orderInfo.sex" id="item2" type="radio" name="sex" value="2">
                            <label for="item2"></label>
                            <span>女</span>
                        </div>
                    </div>
                </div>
                <div class="input-row">
                    <label>手机号</label>
                    <input v-model="orderInfo.telephone" type="text" class="input-clear" placeholder="请输入手机号">
                    <!--                    <input style="font-size: x-small;" id="validateCodeButton" @click="handleCreat()" type="button" value="发送验证码">-->
                    <input style="font-size: x-small;" id="validateCodeButton" @click="handleCreat()" type="button"
                           value="发送验证码">

                </div>
                <!-- TODO 图形验证码-->
                <div id="xxx">
                    <el-dialog title="请完成拼图验证" :visible.sync="dialogFormVisible">
                        <div id="captcha">
                        </div>
                    </el-dialog>
                </div>

                <div class="input-row">
                    <label>验证码</label>
                    <input v-model="orderInfo.validateCode" @blur="validateCodeByTelephone()" type="text"
                           class="input-clear" placeholder="请输入验证码">
                </div>
                <div class="input-row">
                    <label>身份证号</label>
                    <input v-model="orderInfo.idCard" type="text" class="input-clear" placeholder="请输入身份证号">
                </div>
                <div class="date">
                    <label>体检日期</label>
                    <i class="icon-date" class="picktime"></i>
                    <input v-model="orderInfo.orderDate" type="text" class="picktime" readonly>
                </div>
                <input v-model="orderInfo.orderType" type="hidden">
            </form>
            <div class="box-button">
                <button @click="submitOrder()" type="button" class="btn order-btn">提交预约</button>
            </div>
        </div>
    </div>
</div>

<script>
    var vue = new Vue({
        el: '#app',
        data: {
            fullscreenLoading: false,
            isPassing6: false,
            dialogFormVisible: false,
            imgUrl: null,
            setmeal: {},//套餐信息
            orderInfo: {
                orderType: "微信预约",
                setmealId: id,
                isPaid:0,
                sex: '1'
            }//预约信息
        },
        methods: {
            handleCreat() {
                //获取用户输入的手机号
                var telephone = this.orderInfo.telephone;
                //校验手机号输入是否正确
                /*TODO 校验先取消*/
                if (!checkTelephone(telephone)) {
                    this.$message.error('请输入正确的手机号');
                    return false;
                }
                this.dialogFormVisible = true;
                setTimeout(this.sendValidateCode, 1000);
            },

            //发送验证码
            sendValidateCode() {
                //获取用户输入的手机号
                var telephone = this.orderInfo.telephone;

                /*TODO 图形验证  增加五行*/
                jigsaw.init({
                    el: document.getElementById('captcha'),
                    onSuccess: function () {
                        vue.dialogFormVisible = false;
                        validateCodeButton = $("#validateCodeButton")[0];
                        clock = window.setInterval(doLoop, 1000); //一秒执行一次
                        //发起异步请求到后台,发送验证码给到客户
                        axios.get("/order/SendVerifyCode.do?telephone=" + telephone).then((res) => {
                            if (res.data.flag) {
                                this.$message.success(res.data.message);
                            } else {
                                this.$message.error(res.data.message);
                            }
                        })
                    }
                })
            },
            //提交预约
            submitOrder() {
                // 校验身份证号格式
                if (!checkIdCard(this.orderInfo.idCard)) {
                    this.$message.error('身份证号码输入错误，请重新输入');
                    return;
                }

                //效验电话号
                //获取用户输入的手机号
                var telephone = this.orderInfo.telephone;
                //校验手机号输入是否正确
                if (!checkTelephone(telephone)) {
                    this.$message.error('请输入正确的手机号');
                    return;
                }

                //判断输入框是否为空
                if (this.orderInfo.validateCode == null || this.orderInfo.validateCode.length != 4) {
                    this.$message.error('请输入正确的验证码');
                    return;
                }

                //判断日期是否选择
                if (this.orderInfo.orderDate == null) {
                    this.$message.error('请选择预约日期');
                    return;
                }

                //将当前用户输入数据存入sessionStorage
                let oderInfoJson = JSON.stringify(this.orderInfo)
                sessionStorage.setItem("oderInfoJson", oderInfoJson)

                //加载
                const loading = this.$loading({
                    lock: true,
                    text: 'Loading',
                    spinner: 'el-icon-loading',
                    background: 'rgba(0, 0, 0, 0.7)'
                });

                //发送请求提交预约数据
                axios.post("/order/addOrder.do?", this.orderInfo).then((res) => {
                    if (res.data.flag) {
                        this.$message.success(res.data.message);
                        loading.close();


                        //发起支付请求
                        //支付链接===>text , id==> 继续传
                        location.href="pay2.html?oid="+ res.data.data.id +"&code_url="+res.data.data.codeUrl;

                        //预约成功后跳转到成功页面,并删除原来页面的数据
                        sessionStorage.removeItem("oderInfoJson")
                        //预约成功后跳转到成功页面
                        //location.href = "orderSuccess.html?id=" + res.data.data.id;//原代码
                    } else {
                        loading.close();
                        //id为-1时走了降级处理
                        if (res.data.data.id == -1) {
                            //把错误页面存进sessionStorage
                            sessionStorage.setItem("error", "error.html")
                            location.href = "error.html"
                        }
                        this.$message.error(res.data.message);
                    }

                })

            }
        },
        created() {
            //当上个页面是error时
            if (sessionStorage.getItem("error") != null) {
                //取到之前用户录入的数据对象 并把对象赋值给当前页面
                var oderInfo = JSON.parse(sessionStorage.getItem("oderInfoJson"))
                this.orderInfo = oderInfo

                //再去取之前的页面基本信息，把基本信息赋值给当前页面
                var setmeal = JSON.parse(sessionStorage.getItem("setmeal"))
                this.setmeal = setmeal

                // //删除error


                // //删除oderInfoJson
                // sessionStorage.removeItem("oderInfoJson")
                sessionStorage.clear()

            } else {//如果不是从error页面过来的 提交请求去后台拿数据
                sessionStorage.clear()
                //提交异步请求查询当前套餐的信息
                axios.get("/order/findSetMealById.do?id=" + id).then((res) => {
                    console.log(res);
                    this.setmeal = res.data.data;
                    //拿到数据以后把套餐基本信息存入sessionStorge
                    var jsonSetmeal = JSON.stringify(this.setmeal)
                    sessionStorage.setItem("setmeal", jsonSetmeal)
                })
            }
        }
    });
</script>
<script>
    //日期控件
    var calendar = new datePicker();
    calendar.init({
        'trigger': '.picktime', /*按钮选择器，用于触发弹出插件*/
        'type': 'date', /*模式：date日期；datetime日期时间；time时间；ym年月；*/
        'minDate': getSpecifiedDate(new Date(), 1), /*显示预约的最小日期,1表示从今天往后推迟1天，就是只能从明天开始预约*/
        'maxDate': getSpecifiedDate(new Date(), 30), /*显示预约的最大日期*/
        'onSubmit': function () { /*确认时触发事件*/
            //var theSelectData = calendar.value;
        },
        'onClose': function () { /*取消时触发事件*/
        }
    });
</script>
</body>
</html>